I. Field of the Disclosure
The technology of the disclosure relates generally to an embedded multimedia card (eMMC) storage device.
II. Background
An embedded multimedia card (eMMC) is a non-volatile storage device commonly used in mobile computing devices, such as smart phones and tablet computers. The eMMC storage device is standardized by the Joint Electron Device Engineering Council (JEDEC), and supports multiple commands with command queuing features to enable multi-thread programming paradigms. In this manner, the eMMC storage device may provide improved random read/write access performance compared to conventional flash-based memory cards and embedded flash solutions, which process one command at a time.
Mobile computing devices are increasingly capable of supporting multiple virtual clients (e.g., hosts or other processor subsystems) operating simultaneously in virtualized environments. In such virtualized environments, an eMMC storage device may be organized logically into multiple general purpose partitions (GPPs). Accordingly, each virtual client may be assigned a GPP(s) among the multiple GPPs in the eMMC storage device. In this regard, the multiple virtual clients may each interact with a respective GPP(s) in the eMMC storage device as if the virtualized client were the only client communicating with the eMMC storage device. Similarly, the eMMC storage device may operate as if the eMMC storage device were communicating with only a single client at any given time, when, in fact, the eMMC storage device is communicating with multiple virtual clients. When the eMMC storage device is organized into multiple GPPs in a multi-client virtualized environment, communications among the multiple virtual clients and the multiple GPPs in the eMMC storage device may require additional processing to ensure data integrity and security.